package master;

/**
 * @author lakersUp
 * @Classname       z字形变换
 * @Description     用一个二维数组（或者一维数组）
 * @Date 2022/3/31 9:55
 * @Version 1.0
 */
public class M6convert {
    public String convert(String s, int numRows) {
        int n=s.length(),r=numRows;
        if(n==1 || numRows==1){
            return s;
        }
        int t=2*r-2;
        int c=(n+t-1)/t*(r-1);
        char[][] chars=new char[r][c];
        for(int i=0,x=0,y=0;i<s.length();i++){
            chars[x][y]=s.charAt(i);
            if(i%t<(r-1)){
                x++;
            }else {
                x--;
                y++;
            }
        }

        StringBuffer sb = new StringBuffer();
        for(int i=0;i<chars.length;i++){
            for(int j=0;j<chars[0].length;j++){
                if(chars[i][j]!=0){
                    sb.append(chars[i][j]);
                }
            }
        }
        return sb.toString();

    }
}
